\section{Tests comparatifs}
Afin de valider notre bibliothèque de thread, nous allons mener des tests comparatifs avec la bibliothèque standard pthread.
    Deux séries de tests distincts vont êtres mené :
\begin{itemize}
\item  des tests sur les temps de création, destruction et changement de contexte en fonction du nombre de threads lancés ;
\item des tests sur des exemples de fonctions : on compare les temps d’exécution des fonctions en fonction de la taille des entrées.
\end{itemize}

\subsection{Tests sur les threads}
    On cherche ici à tester les temps de création et de destruction d'un thread en fonction du nombre de thread déjà lancés.\\
    Pour cela on crée un nombre de threads nb\_thread. Les threads utilisés dans cet exemple lancent la fonction somme qui sera décrite dans la sous-section suivante. On mesure alors le temps de création d'un nouveau thread.
On effectue les mêmes mesures avec la bibliothèque standard pthread.
    On obtient les résultats qui suivent :
\begin{figure}[H]
\includegraphics[scale=0.5]{graphe_create.png}
\end{figure}


\subsection{Tests sur des fonctions}
\subsubsection{Suite de Fibonacci}
Le but est de calculer le nième élément de la suite de Fibonacci.
La fonction créée est récursive : on lance deux threads ayant pour fonction argument fibo et comme arguments de fonction respectifs n-1 et n-2. Le résultat renvoyé sera la somme des résultats retournés par les threads.
On effectue exactement le même travail avec la bibliothèque standard.
    On mesure le temps d'exécution de la fonction en fonction de l'entrée. On récupére aussi le nombre de threads lancés.
On trace ainsi les graphes suivants :
\begin{figure}[H]
\includegraphics[scale=0.7]{pvt.png}
\end{figure}
%<graphe_pfibo.png>
On remarque que notre bibliothèque est plus beaucoup plus performante que pthread mais on ne peut pas tracer un graphe avec d'autre valeur car avec pthread il y a un segfault pour fibo de 13.


\subsubsection{Somme des éléments d’un tableau}
    On cherche à calculer la somme d'un grand tableau d'entiers de taille SIZE.
    Pour cela on fixe un nombre de threads NB\_THREAD. On lance NB\_THREAD threads, chacun sur une portion du tableau de taille SIZE\_NB\_THREAD.
    On mesure les temps d'exécution de somme en fonction de SIZE.
Lors des tests, le nombre de thread fut fixé à 10.
On obtient les graphes suivants :
\begin{figure}[H]
\includegraphics[scale=0.7]{somme.png}
\end{figure}
%<graphe_psomme.png>
